Many modern day electronic devices contain electronic memory. The electronic memory includes hard disk drives and random access memories (RAMs). A random access memory may be a volatile memory where the stored data is lost in the absence of power or a non-volatile memory which stores data in the absence of power. Dynamic random access memory (DRAM) and static random access memory (SRAM) are two typical kinds of volatile memory. Flash memory was widely used as non-volatile memory. Resistive or magnetic memory devices including magnetic tunnel junctions (MTJs) can be used in hard disk drives and/or RAM, and are promising candidates for next generation memory solutions due to relative simple structures and their compatibility with complementary metal-oxide-semiconductor (CMOS) logic fabrication processes. Currently, these different kinds of memories are prepared in different chips and implemented in a single module by advanced packaging methods such as system in package (SiP) or multi-chip module techniques.